package com.pro.mapper;

import com.pro.pojo.JsUserOrder;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 李佳豪
 * @date 2022/1/5 8:56
 * 订单页面
 */
public interface JsUserOrderMapper {
/*
    */
/*
    * 课程订单
    * *//*

    */
/**
     * @author 李佳豪
     * 课程未付款订单的的数量
     *//*

    Integer CourseUnpaidOrderCount();
    */
/**
     * @author 李佳豪
     * 课程已付款订单的数量
     *//*

    Integer CoursePaidOrderCount();












    */
/**
     * @author 李佳豪
     * 课程待发货订单的数量
     *//*

    Integer CourseToBeShippedCount();
    */
/**
     * @author 李佳豪
     * 课程已发货订单的数量
     *//*

    Integer CourseShippedCount();
    */
/**
     * @author 李佳豪
     * 课程已签收订单的数量
     *//*

    Integer CourseSignedInCount();

*/













    /**
     * @author 李佳豪
     * 根据课程订单状态获取课程数量
     */
    Integer TotalCourseStatusCalculations(@Param("orderType") Integer orderType, @Param("orderStatus") Integer orderStatus);
//商品订单
    /**
     * @author 李佳豪
     */
    //商品未付款订单数量
    Integer ProductUnpaidOrderCount();
    /**
     * @author 李佳豪
     * 商品已付款订单数量
     */
    Integer ProductPaidOrderCount();
    /**
     * @author 李佳豪
     * 商品待发货订单数量
     */
    Integer ProductStaySendOutGoodsCount();
    /**
     * @author 李佳豪
     * 商品已发货订单数量
     */
    Integer ProductQuantityShippedCount();
    /**
     * @author 李佳豪
     * 商品已签收订单数量
     */
    Integer ProductSignedInCount();
    /**
     * @author 李佳豪
     * 商品取消交易订单数量
     */
    Integer ProductCancelTransactionCount();
    /*
    * 退订处理
    * */
    /**
     * @author 李佳豪
     * 退货中
     */
    Integer OrderInReturn();
    /**
     * @author 李佳豪
     * 已退货
     */
    Integer OrderReturned();
     /**
     * 课程订单信息
     */
    /**
     * @author 李佳豪
     * @date 2022/1/10 3:08
     * 查询所有课程订单
     */
    List<JsUserOrder> getAllCourseOrder(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/10 3:08
     * 根据状态查询课程订单
     */
    List<JsUserOrder> QueryCourseOrdersByStatus(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/11 10:03
     * 根据id删除订单信息
     */
    int DeleteOrderById(Integer orderId);
    /**
     * @author 李佳豪
     * @date 2022/1/11 14:56
     * 订单高级检索
     */
    List<JsUserOrder> OrderAdvancedRetrieval(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 9:01
     * 已取消订单查询
     */
    List<JsUserOrder> CancelledOrder(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 13:29
     * 已受理订单查询
     */
    List<JsUserOrder> GetAllAcceptedOrders(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 14:04
     * 已受理订单高级检索
     */
    List<JsUserOrder> AcceptedOrdersAdvancedRetrieval(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 15.40
     * 已受理订单数量
     */
    List<JsUserOrder> AcceptedOrdersCount(JsUserOrder param);
    /**
     * @author 李佳豪
     * @date 2022/1/12 18:46
     * 根据状态查询已受理订单信息
     */
    List<JsUserOrder> QueryAcceptedOrdersByType(JsUserOrder param);
    /**
     * @Author 祖铭泽
     * @Date 2022/1/21/0013
     * @description 根据订单状态、订单类型查询订单数量
     */
    int getReturnApplicationOrderCount(JsUserOrder jsUserOrder);
}
